#!/usr/bin/env node

const inquirer = require('inquirer')
const path = require('path')
const fs = require('fs')
const ejs = require('ejs')
inquirer
  .prompt([
    {
      type: 'input', //问题的输入方式
      name: 'name', //问题返回值的键
      message: 'Project name?', //屏幕上给用户的问题
    },
  ])
  .then((answer) => {
    //根据用户的回答去生成文件

    //模板目录
    const tmplDir = path.join(__dirname, 'templates')

    //目标目录
    const destDir = process.cwd()

    //将模板下的文件全部转换到目标目录
    fs.readdir(tmplDir, (err, files) => {
      if (err) throw err
      files.forEach((file) => {
        //通过模板引擎渲染文件
        ejs.renderFile(path.join(tmplDir, file), answer, (err, result) => {
          if (err) throw err
          //将结果写入到目标文件路径
          fs.writeFileSync(path.join(destDir, file), result)
        })
      })
    })
  })
